package com.jl15988.simpletools.appcore.service;

import org.springframework.web.multipart.MultipartFile;

/**
 * 文件存储服务接口
 *
 * @author jl15988
 */
public interface FileStorageService {

    /**
     * 存储应用图标
     *
     * @param file 图标文件
     * @param appId 应用ID
     * @return 图标路径
     */
    String storeIcon(MultipartFile file, Long appId);

    /**
     * 存储应用截图
     *
     * @param file 截图文件
     * @param appId 应用ID
     * @param index 截图索引
     * @return 截图路径
     */
    String storeScreenshot(MultipartFile file, Long appId, int index);

    /**
     * 存储应用包
     *
     * @param file 应用包文件
     * @param appId 应用ID
     * @return 应用包路径
     */
    String storePackage(MultipartFile file, Long appId);

    /**
     * 存储分类图标
     *
     * @param file 图标文件
     * @param categoryId 分类ID
     * @return 图标路径
     */
    String storeCategoryIcon(MultipartFile file, Long categoryId);

    /**
     * 删除文件
     *
     * @param filePath 文件路径
     * @return 是否成功
     */
    boolean deleteFile(String filePath);

    /**
     * 删除应用相关的所有文件
     *
     * @param appId 应用ID
     * @return 是否成功
     */
    boolean deleteAppFiles(Long appId);
} 